#ifndef TIMER_PWM_H_
#define TIMER_PWM_H_

#ifndef PART_TM4C123GH6PM
#define PART_TM4C123GH6PM
#endif

#ifndef TARGET_IS_BLIZZARD_RA1
#define TARGET_IS_BLIZZARD_RA1
#endif
#include <stdint.h>
#include <stdbool.h>

typedef struct ModPwm {
    int freq;
    float duty_cycle;
    uint8_t str[10];
    uint8_t key_pwm;
    bool isrunning;
    void (*pwmInit) ();
    void (*pwmAdjust) ();
    void (*pwmFreq) ();
    void (*pwmDutyCycle) ();
}ModPwm;

typedef struct ModTimer {
    volatile uint32_t ui32Counter;
    void (*timerInit) ();
    void (*timeStamp) ();
}ModTimer;

extern ModPwm modPwm;
extern ModTimer modTimer;
#endif
